import type { Model } from '~/api/base/base-model.ts'

export interface MenuReq {
  id?: string
  permissionId?: string
  systemId?: string
  parentId?: string
  menuTitle?: string
  menuTitleByLike?: string
  menuCode?: string
  menuCodeByLike?: string
  icon?: string
  type?: number
  typeValue?: boolean
  routerPath?: string
  routerName?: string
  componentPath?: string
  redirect?: string
  sort?: number
  isExtId?: number
  isExtValue?: boolean
  hideInMenuId?: number
  hideInMenuValue?: boolean
  hideTabId?: number
  hideTabValue?: boolean
  hideBreadcrumbId?: number
  hideBreadcrumbValue?: boolean
  hideChildrenInMenuId?: number
  hideChildrenInMenuValue?: boolean
  keepAliveId?: number
  keepAliveValue?: boolean
  note?: string
}

export interface MenuResp extends Model {
  id?: string
  systemId?: string
  parentId?: string
  menuTitle?: string
  menuCode?: string
  icon?: string
  type?: number
  routerPath?: string
  routerName?: string
  componentPath?: string
  redirect?: string
  sort?: number
  hideInMenuId?: number
  hideTabId?: number
  hideBreadcrumbId?: number
  hideChildrenInMenuId?: number
  keepAliveId?: number
  children?: MenuResp[]
  checked?: boolean
  disabled?: boolean
}
